COSC 1550 – Introduction to Programming
Test Three
Name _______________
Multiple Choice
Circle the letter of the
statement that bests
answers/completes each question. Each
question is worth three points.
1.
Which one of the following statements regarding the operation of the
while command is incorrect?
a) The associated loop instructions
execute if the condition evaluates to false.
b) It is necessary that the control variable be modified inside
the loop.
c) If the fourth instruction in a loop containing seven
instructions changes the control
variable to a value that indicates that the loop should not be executed, statements five through seven
will still execute.
d) It is possible that the loop is never executed, depending on
the value of the control
variable.
2.
Which one of the following types of loops would you use if the body of
the loop must be executed at least once?
a) while
b) do….while
c) for
d) case
3.
When does the preincrement operator actually increment the value of its
operand by one (e.g. ++counter)?
a) Before the expression in which
it appears is evaluated.
b) After the expression in which
it appears is evaluated.
c) While the expression in which
it appears is evaluated.
d) At the end of the block in
which it is located.
4. A(n)
_________ is information that is passed to a function, and a(n) _________ is
information that is defined by a function’s header.
a. function call, function header
b. formal parameter, actual parameter
c. actual argument, formal parameter
d. prototype, header
5. Given
the following do…while loop,
do
{
cout << “Enter a
number” << endl;
cin >> Number;
}while(Number>=50);
What
values will prevent the loop from executing thus allowing the next statement to
execute?
a) only those values equal to 50.
b) only those values greater than
50.
c) all values greater than or
equal to 50.
d) all values less than 50.
6. In a
loop, both the break statement and continue statement cause the loop to
terminate early. Which one of the
following statements bests describes the difference between break and continue?
a) A
break statement causes the current iteration of the loop to terminate and begins the next
iteration and the continue statement causes the loop to terminate completely.
b) A
break statement causes the current iteration of the loop to terminate and begins the next
iteration and the continue statement causes the program to terminate
completely.
c) A
continue statement causes the current iteration of the loop to terminate and begins the next iteration and
the break statement causes the loop to terminate completely.
d) A
continue statement causes the current iteration of the loop to terminate and begins the next iteration and
the break statement causes the program to terminate
completely.
7. Which
one of the following statements regarding function calls is not correct?
a) The argument list can contain
the same number of arguments as the parameter
list in the function header.
b) The argument list must contain
arguments whose data types are the same as the
parameter list data types or C++ will attempt data conversions.
c) All data types within the
argument list must be the same.
d) A function call can pass
multiple data values to the function.
8. When
passing data to a function and returning a single value back from the function,
which one of the following statements is not true?
a) The values passed to the
function must be passed by reference.
b) The value is returned to the
calling function using the return command.
c) The
function header of the called function must be defined with a return data type.
d) The
function call can be on the right side of an assignment statement.
9. Assume
the following code:
int number = 1, sum=0;
while (number <= 5)
sum += number++;
cout << "The
sum is " << sum << and the number is " << number
<< endl;
Which one of the following will
display on the screen?
a) The
sum is 10 and the number is 4
b) The
sum is 15 and the number is 6
c) The
sum is 10 and the number is 5
d) The
sum is 15 and the number is 5
10. In the following
code, what kind of loop control variable is used?
inFile
>> number;
while
(number != 9999)
{
cout
<< “The number in the file is “ << number << endl;
inFile
>> number;
}
a) user
controlled
b) counter
c) sentinel
value
d) system
generated
11. The scope
of a local variable is
a) for the duration of the entire
program.
b) from the time it is defined
until the end of the program.
c) from the time it is defined
until the end of the function in which it is defined.
d) from the time it is defined
until the end of the function that calls it.
12. Which one of the following statements
bests describes the purpose of a function prototype?
a) It acts as a function
declaration similar to a variable declaration in that it lets C++ know that the function has
been defined for use.
b) It defines the function and its
associated code to the calling program.
c) It is used to invoke the
execution of a function.
d) It defines a function to be a
global function, not a local function.
13. Which
one of the following statements causes a function to end?
a) break
b) return
c) continue
d) release
14. Which one of the following statements regarding functions is correct?
a) A
function can have only one parameter and one returned value.
b) A
function can have many parameters and many returned values.
c) A
function can have only one parameter and many returned values.
d) A
function can have many parameters and one returned value.
15. Which
one of the following is not required in a function header?
a) data
type(s) of parameter(s)
b) ending
semi-colon
c) function
name
d) data
type of return value
16. A
function is actually executed when it is
a) defined.
b) prototyped.
c) declared.
d) called.
17. If a loop does not contain something that causes the test to eventually become false, which one of the following situations would occur?
a) an
infinite loop
b) a
compiler error
c) a
run-time error
d) an
edit error
18. A loop inside of another loop is known as a(n)
a) infinite
loop.
b) pre-test
loop.
c) post-test
loop.
d) nested
loop.
19. Which one of the following statements in a for statement is executed only once?
a) update of
the control variable
b) initialization
of the control variable
c) test of
the control variable
d) validation
of the control variable
20. Which
one of the following function prototypes is the correct one to use with the
following function?
void DoubleNum (int& RefVar)
{
RefVar *= 2;
}
a) void
DoubleNum (int);
b) void
DoubleNum ( & );
c) void
DoubleNum (int&);
d) int&
DoubleNum ( );
21. Using the function in the previous problem, which one of the following statements correctly invokes the function? Assume the following additional declarations:
int Value = 4;
int Number;
a) Number =
DoubleNum (&Value);
b) Number =
DoubleNum (Value);
c) DoubleNum
(&Value);
d) DoubleNum
(Value);
22. When
an argument is passed to a function, which one of the following statements is
correct?
a) If
passed by value, the function can modify the value of the argument in the calling function
and if passed by reference the function cannot modify the value of the argument in the calling
function.
b) If
passed by reference, the function can modify the value of the argument in the calling
function and if passed by value the function cannot modify the value of
the argument in the calling function.
c) If
passed by value, the function cannot modify the value of the argument in the
calling function and if passed by reference the function cannot modify the value of
the argument in the calling function.
d) If
passed by reference, the function can modify the value of the argument in the calling
function and if passed by value the function can modify the value of the
argument in the calling function.
23. Given the following for loop,
for (i=0; i<10; i++)
cout << “i = “
<< i<< endl;
Which one of the following statements is incorrect
regarding its operation?
a) The value
of i when the loop body begins is 0.
b) The value
of i is compared to 10 and if i is less than 10, the loop executes.
c) Before
the beginning of every iteration of the loop, the value of i is incremented by
1.
d) This loop
will execute 10 times.
24. Assume
a double variable called average is declared as a global variable. Which one of the following statements is not true about average?
a) All
functions in the program have access to average without passing it as a
parameter.
b) If a
function declares its own variable named average, references to average in that
function do not refer to the global average.
c) The default value for average is set to
zero.
d) average is actually declared inside the
main function.
25. Which
type of variable retains its value between successive calls to the function in
which is declared?
a) pointer variable
b) static variable
c) address variable
d) local variable
26. If a parameter is not included in a function call, it may still have a value in the function provided it has which of the following in the function prototype?
a) a default argument
b) a static argument
c) an initial argument
d) a global argument
27. A stub
is
a) a program used in testing and debugging
that tests a function by simply calling
it.
b) a dummy function used in testing and
debugging that is called instead of the
actual function it represents.
c) a called function that calls another
function.
d) an empty array.
28. The
exit function will
a) end the currently executing program
when invoked.
b) end
the currently executing function when invoked, and continue the program at the
statement following the function call.
c) end
the currently executing while statement when invoked, and continue the program
at the statement following the while statement.
d) end
the currently executing iteration of the while statement when invoked, and
continue the program at the next iteration of the while statement.
29. An overloaded
function is one that
a) is able to be called from another
function without the need for a function prototype.
b) contains more parameters than C++
allows.
c) can return multiple values to the
calling function.
d) has two or more definitions in the same
program and with the same function name and different parameter lists.
Problems
Identify any problems you can
locate in the following code segments.
You may assume all variables have been correctly declared. You need to look for syntax errors and logic
errors. Each question is worth 3 points
each.
30. count = 1;
while (count < 10);
{
cout << “The next number is
“ << count-- << endl;
}
31. for
(int i = 0; i <= 5; i++)
cout
<< “The next value of i is “ << endl;
sum
+= i;
average
= sum / i;
cout
<< “The average of the first 5 integers is “ << average <<
endl;
Note:
Questions 32–34 are based on the following function:
void nPrint(char pChar, int n)
{
while (n
>=0)
{
cout
<< pChar;
n--;
}
}
32. What is the printout of the call
nPrint('*', 4);?
33. What value of k will display after
invoking nPrint() from the previous question?
int k = 3;
nPrint('$', k);
cout << "K=" << k <<
endl;
34. What value of k (if any) will display
after the following block executes?
{
int k = 2;
nPrint('#',
k);
}
cout << "K=" << k << endl;